/*
 * Copyright (c) 2017. 深圳一七科技. All rights reserved.
 */

package com.yiqi.liebang.feature.home.contract;

import com.suozhang.framework.framework.BasePresenter;
import com.suozhang.framework.framework.BaseView;
import com.yiqi.liebang.entity.bo.ExpertBo;
import com.yiqi.liebang.entity.bo.SearchBo;
import com.yiqi.liebang.entity.bo.SearchFriendBo;
import com.yiqi.liebang.entity.bo.TopicBo;
import com.yiqi.liebang.entity.bo.TopicListBo;

import java.util.List;

import io.reactivex.Observable;

/**
 * LIJUWEN
 *
 * @email yiyayiyayaoljw@gmail.com
 * @date 2018/7/11 9:06
 */
public interface FriendsContract {

    interface Model {


        Observable<SearchFriendBo> searchFriends(SearchBo searchBo);
        Observable<List<SearchFriendBo.UserFriendBean>> searchExpert(SearchBo searchBo);
    }

    interface View extends BaseView {


        void showFriendsListSuccess(List<SearchFriendBo.UserFriendBean> userFriendBeans);

        void showFriendsListError(String error);

        void showFriendsListMoreSuccess(List<SearchFriendBo.UserFriendBean> userFriendBeans);

        void showFriendsListMoreError(String msg);

        void showFriendsListEmpty();

        void showPeopleListSuccess(List<SearchFriendBo.UserFriendBean> workBoPageData);

        void showListEmpty();
    }


    interface Presenter extends BasePresenter {

        void searchFriend(String content, int pageIndex, int pageZize);

        void searchFriendMore(String content, int pageIndex, int pageZize);

        void searchExpert(String content, int pageIndex, int pageZize);

        void searchExpertMore(String content, int pageIndex, int pageZize);
    }
}
